package org.easy.excel.support.config;

import com.alibaba.excel.write.handler.WriteHandler;
import org.easy.excel.support.config.entity.TitleConfig;

import java.util.List;

/**
 * Excel 导出相关配置列
 *
 * @author 李坤
 * @date 2022/4/25 16:20
 */
public interface ExcelConfig {

    /**
     * 获取导出文件名称（无需添加后缀）
     *
     * @return 导出文件名称
     */
    String getFileName();

    /**
     * 获取导出文件的 sheet 名称
     *
     * @return 导出文件的 sheet 名称
     */
    String getSheetName();

    /**
     * 获取标题配置信息
     *
     * @return 标题配置信息
     */
    TitleConfig getTitleConfig();

    /**
     * 获取自定义的 Excel 拦截器
     *
     * @return Excel 拦截器
     */
    List<WriteHandler> getWriteHandlerList();

    /**
     * 获取解析后的 Excel 导出数据
     *
     * @return 解析后的 Excel 导出数据
     */
    List<List<String>> getExcelExportDataList();

    /**
     * 获取 Excel 导出文件的标题行
     *
     * @return 标题行
     */
    List<List<String>> getExcelExportHeaderList();

}
